﻿using System;
using System.ComponentModel;
using System.IO;
using Styx.Helpers;
using Styx;

namespace AlishaInvite{
    public class AlishaInviteSettings : Settings
    {
        private static AlishaInviteSettings _instance;

        public AlishaInviteSettings()
            : base(Path.Combine(Path.Combine(SettingsDirectory, "AlishaInvite"), string.Format("AlishaInviteSettings_{0}-{1}.xml", StyxWoW.Me.Name, StyxWoW.Me.RealmName)))
        {

        }

        public static AlishaInviteSettings Instance { get { return _instance ?? (_instance = new AlishaInviteSettings()); } }

        #region Category: General

        [Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(true)]
        [DisplayName("Play Sounds")]
        public Boolean PlaySounds { get; set; }

        [Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(false)]
        [DisplayName("Accept LFG Invites")]
        public Boolean AcceptLfgInvite { get; set; }
        

        [Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(false)]
        [DisplayName("Accept LFG RolePoll")]
        public Boolean AcceptRollPoll { get; set; }

        [Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(false)]
        [DisplayName("Accept ReadyChecks")]
        public Boolean AcceptReadyChecks { get; set; }


        [Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(false)]
        [DisplayName("Accept Shared Quests")]
        public Boolean AcceptSharedQuests { get; set; }
		
		[Setting]
        [Category("General")]
        [Styx.Helpers.DefaultValue(false)]
        [DisplayName("Accept Resurrection")]
        public Boolean AcceptResurrect { get; set; }

        #endregion

        #region Category: Timers

        [Setting]
        [Category("Timers")]
        [Styx.Helpers.DefaultValue(1)]
        [DisplayName("Min WaitTime in Seconds")]
        public int MinWaitTimer { get; set; }

        [Setting]
        [Category("Timers")]
        [Styx.Helpers.DefaultValue(3)]
        [DisplayName("Max WaitTime in Seconds")]
        public int MaxWaitTimer { get; set; }

        #endregion

    }

}
